R para Ciencia de Datos en Salud:
Análisis Descriptivo e Inferencia Estadística
Percy Soto-Becerra M.D., M.Sc(c)
InkaStats Data Science Solutions | Medical Branch
@github/psotob91
Características de los datos ordenados o ‘tidy’
variable forma un columna.observación forma una fila.tipo de unidad observacional forma una tabla.Características de los datos desordenados o ‘untidy’
!@#$%^&*()
Al igual que ggplot, el paquete dplyr, también de {tidyverse}, ofrece toda una gramática llena de funciones que actúan como verbos para manipular data.frames.
select: extrae columnas usando nombresarrange: reordena filasslice: extrae filas usando índicesfilter: extrae filas que coincidan con criterios lógicosdistinct: filtra por filas únicasmutate: agrega nuevas variablessummarise: reduce variables a valoresgroup_by: para operacionesa agrupadasEl primer argumento siempre es el data frame.
Los argumentos subsecuentes dicen qué hacer con el data frame.
Siempre retorna un data frame.
No altera el data frame original.
Rows: 10,545
Columns: 9
$ country <fct> "Albania", "Algeria", "Angola", "Antigua and Barbuda"…
$ year <int> 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960,…
$ infant_mortality <dbl> 115.40, 148.20, 208.00, NA, 59.87, NA, NA, 20.30, 37.…
$ life_expectancy <dbl> 62.87, 47.50, 35.98, 62.97, 65.39, 66.86, 65.66, 70.8…
$ fertility <dbl> 6.19, 7.65, 7.32, 4.43, 3.11, 4.55, 4.82, 3.45, 2.70,…
$ population <dbl> 1636054, 11124892, 5270844, 54681, 20619075, 1867396,…
$ gdp <dbl> NA, 13828152297, NA, NA, 108322326649, NA, NA, 966778…
$ continent <fct> Europe, Africa, Africa, Americas, Americas, Asia, Ame…
$ region <fct> Southern Europe, Northern Africa, Middle Africa, Cari…
country year infant_mortality life_expectancy fertility
1 Albania 1960 115.40 62.87 6.19
2 Algeria 1960 148.20 47.50 7.65
3 Angola 1960 208.00 35.98 7.32
4 Antigua and Barbuda 1960 NA 62.97 4.43
5 Argentina 1960 59.87 65.39 3.11
6 Armenia 1960 NA 66.86 4.55
population gdp continent region
1 1636054 NA Europe Southern Europe
2 11124892 13828152297 Africa Northern Africa
3 5270844 NA Africa Middle Africa
4 54681 NA Americas Caribbean
5 20619075 108322326649 Americas South America
6 1867396 NA Asia Western Asia
Ver solamente country (países):
Inicia con la función (un verbo): select()
Primer arugmento: data frame con el que trabajaremos, gapminder
Segundo argumento: variable que queremos seleccionar, country
Resultado: data frame con 10545 filas y 1 columna
Las funciones de dplyr siempre esperan un data frame y siempre generan un data frame.
En programación, un
pipees una técnica para transmitir información de un proceso a otro.
En R, hay dos operadores pipe:
pipe de tidyverse: %>%
pipe nativo (de R base):|>
En este curso, usaremos el pipe de tidyverse: %>%
El operador pipe de tidyverse es del paquete {magrittr}, que no necesita ser cargado si es que se carga {tidyverse}.
Este operador conecta secuencia de acciones en forma de código:
yo
despierto a las 8 horas
salgo de cama por el lado derecho
visto pantalones y polo
salgo de casa con carro sin bicicleta
Atajo de teclado del operador pipe:
Ctrl + Shift + M
Ctrl + ⇧ + M
Sin %>%:
datos_fase1.# A tibble: 6 × 14
id time treat age race married married2 procedence weight height e2
<dbl> <fct> <fct> <dbl> <chr> <fct> <fct> <chr> <dbl> <dbl> <dbl>
1 1 Basel… Plac… 33 Mest… Single Without… Callao 59 1.4 87.3
2 1 3 mon… Plac… 32 Mest… Single Without… Callao 59.9 1.3 210.
3 2 Basel… Dosi… 27 Mest… Single Without… Santa Ani… 62 1.5 169.
4 2 3 mon… Dosi… 27 Mest… Single Without… Santa Ani… 62.1 1.6 99.9
5 3 Basel… Dosi… 25 Mest… Single Without… Callao 62 1.6 78.8
6 3 3 mon… Dosi… 25 Mest… Single Without… Callao 60 1.6 155.
# … with 3 more variables: lh <dbl>, fsh <dbl>, prog <dbl>
Con %>%:
datos_fase1 solo se repite una vez.# A tibble: 6 × 14
id time treat age race married married2 procedence weight height e2
<dbl> <fct> <fct> <dbl> <chr> <fct> <fct> <chr> <dbl> <dbl> <dbl>
1 1 Basel… Plac… 33 Mest… Single Without… Callao 59 1.4 87.3
2 1 3 mon… Plac… 32 Mest… Single Without… Callao 59.9 1.3 210.
3 2 Basel… Dosi… 27 Mest… Single Without… Santa Ani… 62 1.5 169.
4 2 3 mon… Dosi… 27 Mest… Single Without… Santa Ani… 62.1 1.6 99.9
5 3 Basel… Dosi… 25 Mest… Single Without… Callao 62 1.6 78.8
6 3 3 mon… Dosi… 25 Mest… Single Without… Callao 60 1.6 155.
# … with 3 more variables: lh <dbl>, fsh <dbl>, prog <dbl>
El paquete {dplyr} es una ‘suite’ de funciones para manipular data frame.
| Verbos | Función |
|---|---|
| Extrae filas con filter() | |
| Extrae columnas con select() | |
| Reordena filas con arrange() | |
| Crea nuevas / remplaza columnas con mutate | |
| Haz resumenes agrupados con group_by() y summarize() | |
La función select() selecciona o excluye columnas.
El signo - permite elegir qué columnas eliminar.
A veces es mejor llamarla usando: dplyr::select() debido a que otros paquetes también tienen una función con el mismo nombre.
id, time, age, race y procedence:# A tibble: 106 × 5
id time age race procedence
<dbl> <fct> <dbl> <chr> <chr>
1 1 Baseline 33 Mestiza Callao
2 1 3 months 32 Mestiza Callao
3 2 Baseline 27 Mestiza Santa Anita
4 2 3 months 27 Mestiza Santa Anita
5 3 Baseline 25 Mestiza Callao
6 3 3 months 25 Mestiza Callao
7 4 Baseline 37 Mestiza Callao
8 4 3 months 38 Mestiza Callao
9 5 Baseline 31 Mestiza La Molina
10 5 3 months 32 Mestiza La Molina
# … with 96 more rows
# A tibble: 106 × 13
id time treat age race married married2 weight height e2 lh
<dbl> <fct> <fct> <dbl> <chr> <fct> <fct> <dbl> <dbl> <dbl> <dbl>
1 1 Baseline Placebo 33 Mest… Single Without… 59 1.4 87.3 3.28
2 1 3 months Placebo 32 Mest… Single Without… 59.9 1.3 210. 26.8
3 2 Baseline Dosis 2 27 Mest… Single Without… 62 1.5 169. 6.34
4 2 3 months Dosis 2 27 Mest… Single Without… 62.1 1.6 99.9 5.77
5 3 Baseline Dosis 1 25 Mest… Single Without… 62 1.6 78.8 11.9
6 3 3 months Dosis 1 25 Mest… Single Without… 60 1.6 155. 10.1
7 4 Baseline Dosis 1 37 Mest… Divorc… Without… 60.9 1.5 41.0 4.57
8 4 3 months Dosis 1 38 Mest… Divorc… Without… 61.4 1.5 109. 7.29
9 5 Baseline Placebo 31 Mest… Single Without… 64 1.5 43.0 7.81
10 5 3 months Placebo 32 Mest… Single Without… 58.1 1.6 56.0 9.15
# … with 96 more rows, and 2 more variables: fsh <dbl>, prog <dbl>
age, race, married, married2, y procedence.# A tibble: 106 × 5
age race married married2 procedence
<dbl> <chr> <fct> <fct> <chr>
1 33 Mestiza Single Without couple Callao
2 32 Mestiza Single Without couple Callao
3 27 Mestiza Single Without couple Santa Anita
4 27 Mestiza Single Without couple Santa Anita
5 25 Mestiza Single Without couple Callao
6 25 Mestiza Single Without couple Callao
7 37 Mestiza Divorced Without couple Callao
8 38 Mestiza Divorced Without couple Callao
9 31 Mestiza Single Without couple La Molina
10 32 Mestiza Single Without couple La Molina
# … with 96 more rows
# A tibble: 106 × 5
id time treat age procedence
<dbl> <fct> <fct> <dbl> <chr>
1 1 Baseline Placebo 33 Callao
2 1 3 months Placebo 32 Callao
3 2 Baseline Dosis 2 27 Santa Anita
4 2 3 months Dosis 2 27 Santa Anita
5 3 Baseline Dosis 1 25 Callao
6 3 3 months Dosis 1 25 Callao
7 4 Baseline Dosis 1 37 Callao
8 4 3 months Dosis 1 38 Callao
9 5 Baseline Placebo 31 La Molina
10 5 3 months Placebo 32 La Molina
# … with 96 more rows
# A tibble: 106 × 5
id time treat age procedence
<dbl> <fct> <fct> <dbl> <chr>
1 40 Baseline Placebo 20 VES
2 40 3 months Placebo 20 VES
3 20 Baseline Placebo 22 Surquillo
4 20 3 months Placebo 22 Surquillo
5 29 Baseline Dosis 1 23 SJL
6 29 3 months Dosis 1 23 SJL
7 39 Baseline Dosis 2 23 Callao
8 39 3 months Dosis 2 23 Callao
9 3 Baseline Dosis 1 25 Callao
10 3 3 months Dosis 1 25 Callao
# … with 96 more rows
# A tibble: 106 × 5
id time treat age procedence
<dbl> <fct> <fct> <dbl> <chr>
1 22 Baseline Dosis 1 41 Chorrillos
2 22 3 months Dosis 1 41 Chorrillos
3 33 Baseline Dosis 2 41 SJL
4 33 3 months Dosis 2 41 SJL
5 51 Baseline Dosis 1 41 Surco
6 51 3 months Dosis 1 41 Surco
7 17 Baseline Placebo 40 Surquillo
8 17 3 months Placebo 40 Surquillo
9 28 Baseline Dosis 2 40 SJL
10 28 3 months Dosis 2 40 SJL
# … with 96 more rows
De acuerdo a índice (posición de fila):
De acuerdo a condición:
# A tibble: 3 × 14
id time treat age race married married2 procedence weight height e2
<dbl> <fct> <fct> <dbl> <chr> <fct> <fct> <chr> <dbl> <dbl> <dbl>
1 1 Basel… Plac… 33 Mest… Single Without… Callao 59 1.4 87.3
2 1 3 mon… Plac… 32 Mest… Single Without… Callao 59.9 1.3 210.
3 2 Basel… Dosi… 27 Mest… Single Without… Santa Ani… 62 1.5 169.
# … with 3 more variables: lh <dbl>, fsh <dbl>, prog <dbl>
# A tibble: 3 × 14
id time treat age race married married2 procedence weight height e2
<dbl> <fct> <fct> <dbl> <chr> <fct> <fct> <chr> <dbl> <dbl> <dbl>
1 2 Basel… Dosi… 27 Mest… Single Without… Santa Ani… 62 1.5 169.
2 3 3 mon… Dosi… 25 Mest… Single Without… Callao 60 1.6 155.
3 5 3 mon… Plac… 32 Mest… Single Without… La Molina 58.1 1.6 56.0
# … with 3 more variables: lh <dbl>, fsh <dbl>, prog <dbl>
# A tibble: 104 × 14
id time treat age race married married2 procedence weight height e2
<dbl> <fct> <fct> <dbl> <chr> <fct> <fct> <chr> <dbl> <dbl> <dbl>
1 1 3 mo… Plac… 32 Mest… Single Without… Callao 59.9 1.3 210.
2 2 3 mo… Dosi… 27 Mest… Single Without… Santa Ani… 62.1 1.6 99.9
3 3 Base… Dosi… 25 Mest… Single Without… Callao 62 1.6 78.8
4 3 3 mo… Dosi… 25 Mest… Single Without… Callao 60 1.6 155.
5 4 Base… Dosi… 37 Mest… Divorc… Without… Callao 60.9 1.5 41.0
6 4 3 mo… Dosi… 38 Mest… Divorc… Without… Callao 61.4 1.5 109.
7 5 Base… Plac… 31 Mest… Single Without… La Molina 64 1.5 43.0
8 5 3 mo… Plac… 32 Mest… Single Without… La Molina 58.1 1.6 56.0
9 6 Base… Plac… 38 Mest… Married With co… Los Olivos 54.5 1.5 36.2
10 6 3 mo… Plac… 38 Mest… Married With co… Los Olivos 53.9 1.5 44.7
# … with 94 more rows, and 3 more variables: lh <dbl>, fsh <dbl>, prog <dbl>
La función filter() selecciona individuos que cumplen una condición lógica.
Se debe usar operadores booleanos para construir condiciones lógicas simples o complejas.
| Argumento | Descripción |
|---|---|
| .data | Data frame o extensión de data frame (por ejemplo, tibble). |
| ... | Uno o más condiciones o pruebas que filter() evaluará en cada fila y seleccionará solo las condiciones que resulten verdaderas: TRUE. |
| Operador | Definición | Operador | Definición |
|---|---|---|---|
| < | menor que | A | B | A o B |
| <= | menor o igual que | is.na(A) | evalúa si A es NA |
| > | mayor que | !is.na(A) | evalúa si A no es NA |
| >= | mayor o igual que | A %in% B | evalúa si A está en B |
| == | exactamente igual a | !(A %in% B) | evalúa si A no está en B |
| != | diferente de | !A | no A |
| A & B | A y B |
# A tibble: 53 × 5
id time treat age procedence
<dbl> <fct> <fct> <dbl> <chr>
1 1 Baseline Placebo 33 Callao
2 2 Baseline Dosis 2 27 Santa Anita
3 3 Baseline Dosis 1 25 Callao
4 4 Baseline Dosis 1 37 Callao
5 5 Baseline Placebo 31 La Molina
6 6 Baseline Placebo 38 Los Olivos
7 7 Baseline Dosis 1 26 SMP
8 8 Baseline Placebo 34 Carabayllo
9 9 Baseline Dosis 2 30 SMP
10 10 Baseline Placebo 38 Pueblo Libre
# … with 43 more rows
Y que sean placebo:# A tibble: 17 × 5
id time treat age procedence
<dbl> <fct> <fct> <dbl> <chr>
1 1 Baseline Placebo 33 Callao
2 5 Baseline Placebo 31 La Molina
3 6 Baseline Placebo 38 Los Olivos
4 8 Baseline Placebo 34 Carabayllo
5 10 Baseline Placebo 38 Pueblo Libre
6 14 Baseline Placebo 33 Surquillo
7 15 Baseline Placebo 37 Comas
8 17 Baseline Placebo 40 Surquillo
9 18 Baseline Placebo 36 Miraflores
10 20 Baseline Placebo 22 Surquillo
11 21 Baseline Placebo 29 SJL
12 25 Baseline Placebo 37 San Borja
13 26 Baseline Placebo 32 Chosica
14 40 Baseline Placebo 20 VES
15 43 Baseline Placebo 36 Villa el Salvador
16 45 Baseline Placebo 35 Los Olivos
17 48 Baseline Placebo 27 Callao
# A tibble: 17 × 5
id time treat age procedence
<dbl> <fct> <fct> <dbl> <chr>
1 1 Baseline Placebo 33 Callao
2 5 Baseline Placebo 31 La Molina
3 6 Baseline Placebo 38 Los Olivos
4 8 Baseline Placebo 34 Carabayllo
5 10 Baseline Placebo 38 Pueblo Libre
6 14 Baseline Placebo 33 Surquillo
7 15 Baseline Placebo 37 Comas
8 17 Baseline Placebo 40 Surquillo
9 18 Baseline Placebo 36 Miraflores
10 20 Baseline Placebo 22 Surquillo
11 21 Baseline Placebo 29 SJL
12 25 Baseline Placebo 37 San Borja
13 26 Baseline Placebo 32 Chosica
14 40 Baseline Placebo 20 VES
15 43 Baseline Placebo 36 Villa el Salvador
16 45 Baseline Placebo 35 Los Olivos
17 48 Baseline Placebo 27 Callao
O que sean placebo:# A tibble: 70 × 5
id time treat age procedence
<dbl> <fct> <fct> <dbl> <chr>
1 1 Baseline Placebo 33 Callao
2 1 3 months Placebo 32 Callao
3 2 Baseline Dosis 2 27 Santa Anita
4 3 Baseline Dosis 1 25 Callao
5 4 Baseline Dosis 1 37 Callao
6 5 Baseline Placebo 31 La Molina
7 5 3 months Placebo 32 La Molina
8 6 Baseline Placebo 38 Los Olivos
9 6 3 months Placebo 38 Los Olivos
10 7 Baseline Dosis 1 26 SMP
# … with 60 more rows
# A tibble: 36 × 5
id time treat age procedence
<dbl> <fct> <fct> <dbl> <chr>
1 4 Baseline Dosis 1 37 Callao
2 4 3 months Dosis 1 38 Callao
3 6 Baseline Placebo 38 Los Olivos
4 6 3 months Placebo 38 Los Olivos
5 8 Baseline Placebo 34 Carabayllo
6 8 3 months Placebo 34 Carabayllo
7 10 Baseline Placebo 38 Pueblo Libre
8 10 3 months Placebo 38 Pueblo Libre
9 11 Baseline Dosis 2 37 El Agustino
10 11 3 months Dosis 2 36 El Agustino
# … with 26 more rows
# A tibble: 22 × 14
id time treat age race married married2 procedence weight height e2
<dbl> <fct> <fct> <dbl> <chr> <fct> <fct> <chr> <dbl> <dbl> <dbl>
1 1 Base… Plac… 33 Mest… Single Without… Callao 59 1.4 87.3
2 1 3 mo… Plac… 32 Mest… Single Without… Callao 59.9 1.3 210.
3 2 Base… Dosi… 27 Mest… Single Without… Santa Ani… 62 1.5 169.
4 2 3 mo… Dosi… 27 Mest… Single Without… Santa Ani… 62.1 1.6 99.9
5 3 Base… Dosi… 25 Mest… Single Without… Callao 62 1.6 78.8
6 3 3 mo… Dosi… 25 Mest… Single Without… Callao 60 1.6 155.
7 4 Base… Dosi… 37 Mest… Divorc… Without… Callao 60.9 1.5 41.0
8 4 3 mo… Dosi… 38 Mest… Divorc… Without… Callao 61.4 1.5 109.
9 7 Base… Dosi… 26 Mest… Married With co… SMP 59.1 1.6 91.3
10 7 3 mo… Dosi… 26 Mest… Married With co… SMP 58.6 1.6 91.3
# … with 12 more rows, and 3 more variables: lh <dbl>, fsh <dbl>, prog <dbl>
# A tibble: 22 × 14
id time treat age race married married2 procedence weight height e2
<dbl> <fct> <fct> <dbl> <chr> <fct> <fct> <chr> <dbl> <dbl> <dbl>
1 1 Base… Plac… 33 Mest… Single Without… Callao 59 1.4 87.3
2 1 3 mo… Plac… 32 Mest… Single Without… Callao 59.9 1.3 210.
3 2 Base… Dosi… 27 Mest… Single Without… Santa Ani… 62 1.5 169.
4 2 3 mo… Dosi… 27 Mest… Single Without… Santa Ani… 62.1 1.6 99.9
5 3 Base… Dosi… 25 Mest… Single Without… Callao 62 1.6 78.8
6 3 3 mo… Dosi… 25 Mest… Single Without… Callao 60 1.6 155.
7 4 Base… Dosi… 37 Mest… Divorc… Without… Callao 60.9 1.5 41.0
8 4 3 mo… Dosi… 38 Mest… Divorc… Without… Callao 61.4 1.5 109.
9 7 Base… Dosi… 26 Mest… Married With co… SMP 59.1 1.6 91.3
10 7 3 mo… Dosi… 26 Mest… Married With co… SMP 58.6 1.6 91.3
# … with 12 more rows, and 3 more variables: lh <dbl>, fsh <dbl>, prog <dbl>
datos_fase1 %>%
filter(age > 35) %>% # Primero filtro por age
select(id, time, treat, race, age) %>% # Luego me quedo solo con estas 5 columnas
arrange(age) # Por último, reordenamos por edad# A tibble: 40 × 5
id time treat race age
<dbl> <fct> <fct> <chr> <dbl>
1 11 3 months Dosis 2 Mestiza 36
2 18 Baseline Placebo Mestiza 36
3 18 3 months Placebo Mestiza 36
4 43 Baseline Placebo Mestiza 36
5 43 3 months Placebo Mestiza 36
6 46 Baseline Dosis 2 Mestiza 36
7 46 3 months Dosis 2 Mestiza 36
8 4 Baseline Dosis 1 Mestiza 37
9 11 Baseline Dosis 2 Mestiza 37
10 15 Baseline Placebo Mestiza 37
# … with 30 more rows
datos_fase1 %>%
select(id, weight, height) %>% # Nos quedamos con peso y talla
mutate(imc = weight / height ^ 2) # Creamos IMC en base a peso y talla# A tibble: 106 × 4
id weight height imc
<dbl> <dbl> <dbl> <dbl>
1 1 59 1.4 30.1
2 1 59.9 1.3 35.4
3 2 62 1.5 27.6
4 2 62.1 1.6 24.3
5 3 62 1.6 24.2
6 3 60 1.6 23.4
7 4 60.9 1.5 27.1
8 4 61.4 1.5 27.3
9 5 64 1.5 28.4
10 5 58.1 1.6 22.7
# … with 96 more rows
También podemos crear más de una variable nueva.
Incluso, podemos reutilizar la variable recién creada para crear otra nueva dentro del mismo argumento de mutate()
datos_fase1 %>%
select(id, weight, height) %>%
mutate(
imc = weight / height ^ 2,
imc_escalado = imc / 10
) # A tibble: 106 × 5
id weight height imc imc_escalado
<dbl> <dbl> <dbl> <dbl> <dbl>
1 1 59 1.4 30.1 3.01
2 1 59.9 1.3 35.4 3.54
3 2 62 1.5 27.6 2.76
4 2 62.1 1.6 24.3 2.43
5 3 62 1.6 24.2 2.42
6 3 60 1.6 23.4 2.34
7 4 60.9 1.5 27.1 2.71
8 4 61.4 1.5 27.3 2.73
9 5 64 1.5 28.4 2.84
10 5 58.1 1.6 22.7 2.27
# … with 96 more rows
Tener cuidado si se quiere reutilizar la variable original, en ese caso es mejor crear columna nueva.
Queremos que la edad sea reportada en meses:
Crear columna nueva:
Función de apoyo a mutate() para crear variables según condiciones más complejas.
Crea variables de acuerdo a condiciones complejas
datos %>%
mutate(
nueva_var = case_when(
condición1 ~ resultado1,
condición2 ~ resultado2,
condición3 ~ resultado3
)
)~: Alt + 1 + 2 + 6TRUE:datos %>%
mutate(
nueva_var = case_when(
condición1 ~ resultado1,
condición2 ~ resultado2,
condición3 ~ resultado3,
TRUE ~ resultado_si_condición_no_se_cumple
)
)Es muy importante siempre colocarla al final de cualquier conjunto de condiciones previas.
Cuando el resultado de no cumplirse es que se asigne valor perdido, es importante usar la función as.tipo_var() sobre el indicador de dato perdido NA.
Si es character: as.character(NA)
Si es numeric: as.numeric(NA)
datos_fase1 %>%
select(id, age) %>%
mutate(agecat = case_when(age >= 20 & age <= 30 ~ "20-30",
age >= 31 & age <= 35 ~ "31-35",
age >= 36 & age <= 41 ~ "36-41",
TRUE ~ as.character(NA))
) # A tibble: 106 × 3
id age agecat
<dbl> <dbl> <chr>
1 1 33 31-35
2 1 32 31-35
3 2 27 20-30
4 2 27 20-30
5 3 25 20-30
6 3 25 20-30
7 4 37 36-41
8 4 38 36-41
9 5 31 31-35
10 5 32 31-35
# … with 96 more rows
datos_fase1 %>%
mutate(elegible = case_when(
married2 == "Without couple" & procedence %in% c("Callao", "Carabayllo", "Chorrillos", "SJL") ~ "Elegible",
TRUE ~ "No elegible"
)
) # A tibble: 106 × 15
id time treat age race married married2 procedence weight height e2
<dbl> <fct> <fct> <dbl> <chr> <fct> <fct> <chr> <dbl> <dbl> <dbl>
1 1 Base… Plac… 33 Mest… Single Without… Callao 59 1.4 87.3
2 1 3 mo… Plac… 32 Mest… Single Without… Callao 59.9 1.3 210.
3 2 Base… Dosi… 27 Mest… Single Without… Santa Ani… 62 1.5 169.
4 2 3 mo… Dosi… 27 Mest… Single Without… Santa Ani… 62.1 1.6 99.9
5 3 Base… Dosi… 25 Mest… Single Without… Callao 62 1.6 78.8
6 3 3 mo… Dosi… 25 Mest… Single Without… Callao 60 1.6 155.
7 4 Base… Dosi… 37 Mest… Divorc… Without… Callao 60.9 1.5 41.0
8 4 3 mo… Dosi… 38 Mest… Divorc… Without… Callao 61.4 1.5 109.
9 5 Base… Plac… 31 Mest… Single Without… La Molina 64 1.5 43.0
10 5 3 mo… Plac… 32 Mest… Single Without… La Molina 58.1 1.6 56.0
# … with 96 more rows, and 4 more variables: lh <dbl>, fsh <dbl>, prog <dbl>,
# elegible <chr>
married por casado1 y el de age por edad.# A tibble: 106 × 14
id time treat edad race casado1 married2 procedence weight height e2
<dbl> <fct> <fct> <dbl> <chr> <fct> <fct> <chr> <dbl> <dbl> <dbl>
1 1 Base… Plac… 33 Mest… Single Without… Callao 59 1.4 87.3
2 1 3 mo… Plac… 32 Mest… Single Without… Callao 59.9 1.3 210.
3 2 Base… Dosi… 27 Mest… Single Without… Santa Ani… 62 1.5 169.
4 2 3 mo… Dosi… 27 Mest… Single Without… Santa Ani… 62.1 1.6 99.9
5 3 Base… Dosi… 25 Mest… Single Without… Callao 62 1.6 78.8
6 3 3 mo… Dosi… 25 Mest… Single Without… Callao 60 1.6 155.
7 4 Base… Dosi… 37 Mest… Divorc… Without… Callao 60.9 1.5 41.0
8 4 3 mo… Dosi… 38 Mest… Divorc… Without… Callao 61.4 1.5 109.
9 5 Base… Plac… 31 Mest… Single Without… La Molina 64 1.5 43.0
10 5 3 mo… Plac… 32 Mest… Single Without… La Molina 58.1 1.6 56.0
# … with 96 more rows, and 3 more variables: lh <dbl>, fsh <dbl>, prog <dbl>
La función set_var_labels() del paquete labelled() es muy útil para etiquetar columnas.
Los datos deben tener metadatos que permitan ser legibles por el ser humano.
Primero instalar y cargar paquete:
mi_primer_manejo_datos.mi_primer_manejo_datos.mi_primer_manejo_datos y completelo según las indicaciones.05:00
Introducción al Manejo de Datos en R con {tidyverse}